package com.cw.service;

import com.baomidou.mybatisplus.extension.service.*;
import com.cw.common.api.*;
import com.cw.dto.*;
import com.cw.entity.*;
import java.util.*;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author smq
 * @since 2021-05-09
 */
public interface IPatientBedMiddleService extends IService<PatientBedMiddle> {
    /**
     * 中间表关联预约表 查询已登记列表的数据
     * @param condition 查询条件
     * @author ly
     * @date 2021/5/9 16:32
     * @return com.github.pagehelper.PageInfo<com.cw.entity.PatientBedMiddle>
     */
    List<ThisIiInmaininfo> getPatientBedMiddle(InpatientRegistrationCondition condition);

    /**
     * 床位登记
     *
     * @param bedId
     * @param patientId
     * @return
     */
    Response addPatientBed(String bedId, String patientId);

    /**
     * 床位登记
     *
     * @param nurseCellCode
     * @param roomNo
     * @return
     */
    Response determineSPD(String nurseCellCode, String roomNo);


    /**
     * 转床
     *
     * @param bedId
     * @param patientId
     * @return
     */
    Response changePatientBed1(String bedId, String patientId, String deptCode,String deptName,String sdeptCode);

    /**
     * 取消预约
     *
     * @param bedId
     * @return
     */
    Response delPatientBed(String bedId, String patientId,String remark);


    /**
     * 根据床位ids已登记床位
     *
     * @param bedIds
     * @return
     */
    List<PatientBedMiddle> getRegisterBedByBedIds(List<String> bedIds);

    List<PatientBedMiddle> getAllRegisterBeds();

    /**
     * 获取已预约的
     * @author ly
     * @date 2021/5/25 15:54
     * @return java.util.List<java.lang.String>
     */
    List<String> getAppointmentTimeOut();

    /**
     * 释放床位
     * @param
     * @return
     */
    Response  updateReleaseBed();

    //测试回滚的,记得删除
    void addExtTest(ExtInformation entity);

    Response getCacelReson();
}
